Drop SilverBullet + the task/calendar Hermes skills - #52
Conversation
The co-managed task system didn't earn its complexity, so retire it: - delete modules/homelab/apps/silverbullet.nix (service on 204, traefik route + dashboard tile on 201) and its builder.nix alwaysImport entry - drop the caldav, task-notes and cc-sync skills from 204-agent.nix, plus the vdirsyncer/khal client config and the cc-sync.sh script - drop khal + vdirsyncer from hermes extraPackages (curl stays: the mimir-alerting skill needs it) and the hermes-caldav sops secret - delete plans/hermes-task-calendar.md Kept deliberately: system.configurationRevision and the nixos_configuration_revision Mimir metric. They were added for cc-sync but are independently useful -- they show which rev each host actually runs, so merged-but-not-deployed is visible without ssh. Comments rewritten to drop the cc-sync framing. Radicale (modules/hetzner/mail/mail.nix) is untouched -- it predates this and stays. Verified: 204-agent and 201-mono both evaluate. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
There was a problem hiding this comment.
🟡 Not ready to approve
The removed CalDAV/SilverBullet integration leaves now-unused sops secrets (e.g., hermes-caldav, silverbullet-*) still present in modules/homelab/global-secrets/secret.yaml, which should be cleaned up to fully retire the system and reduce secret-retention risk.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
This review doesn't count toward merge requirements. Sign up for the private preview to control whether Copilot approvals count.
Pull request overview
This PR removes the previously introduced SilverBullet-based co-managed task/notes system and the associated Hermes task/calendar automation from the homelab NixOS configuration, while keeping the configuration revision metric plumbing (now framed as generally useful host-revision visibility).
Changes:
- Deletes the SilverBullet service/module (including reverse-proxy registration) and the associated plan document.
- Removes Hermes CalDAV + task/cc-sync skill wiring and related client tooling/config from
204-agent. - Keeps
system.configurationRevision+ thenixos_configuration_revisiontextfile metric, updating comments to remove the cc-sync framing.
File summaries
| File | Description |
|---|---|
| plans/hermes-task-calendar.md | Deletes the implementation plan for the retired task/calendar system. |
| modules/observability.nix | Rewords revision-metric comments to reflect general “host runs which rev” intent. |
| modules/hosts/cc-sync.sh | Removes the deterministic SilverBullet “Engineering” projection script. |
| modules/hosts/204-agent.nix | Drops CalDAV/task/cc-sync skills + vdirsyncer/khal config and removes khal/vdirsyncer packages. |
| modules/homelab/apps/silverbullet.nix | Deletes the SilverBullet module (service + traefik/dashboard registration). |
| modules/builder.nix | Removes the SilverBullet module from alwaysImport and updates revision-metric commentary. |
Review details
- Files reviewed: 6/6 changed files
- Comments generated: 1
- Review effort level: Lite
We're testing this review assessment. Please use 👍 or 👎 to tell us if it's correct.
| # on a logged-in machine, no per-token API billing. REQUIRED before deploy: | ||
| # sops-nix fails activation if this key is missing from secret.yaml. | ||
| sops.secrets."hermes-claude" = { owner = "hermes"; }; | ||
| # Plaintext radicale password (the phonkd@phonkd.net account on | ||
| # cal.phonkd.net, see modules/hetzner/mail/mail.nix) -- vdirsyncer | ||
| # reads it with a password.fetch command straight from this path, so | ||
| # it's a bare password, NOT env-file format, and is deliberately not | ||
| # in environmentFiles. | ||
| sops.secrets."hermes-caldav" = { owner = "hermes"; }; | ||
|
|
||
| services.hermes-agent = { |
The co-managed task system didn't earn its complexity, so retire it:
Kept deliberately: system.configurationRevision and the nixos_configuration_revision Mimir metric. They were added for cc-sync but are independently useful -- they show which rev each host actually runs, so merged-but-not-deployed is visible without ssh. Comments rewritten to drop the cc-sync framing.
Radicale (modules/hetzner/mail/mail.nix) is untouched -- it predates this and stays. Verified: 204-agent and 201-mono both evaluate.